As an increasing number of applications and services are being made available over networks such as the Internet, an increasing number of content, application, and service providers are turning to technologies such as cloud computing. Cloud computing, in general, is an approach to providing access to electronic resources through services, such as Web services, where the hardware and/or software used to support those services is dynamically scalable to meet the needs of the services at any given time. A user or customer typically will rent, lease, or otherwise pay for access to resources through the cloud, and thus does not have to purchase and maintain the hardware and/or software to provide access to these resources.
A variety of data stores and instances can be provided to a customer for use with various applications or for other such purposes. In order to prevent outages or the unavailability of customer data, it can be desirable necessary to monitor these instances for problems. This typically involves metrics being captured and logged for each instance, which allow an operator such as a database administrator (DBA) to determine the existence of potential problems, determine the type of problem, and perform an appropriate recovery. Such an approach is expensive and time consuming, however, and often results in data being unavailable for a significant amount of time while the DBA determines and corrects the problems with the data storage.